package com.example.student.service;

import com.example.student.entity.SysMenu;
import com.example.student.model.MenuVO;

import java.util.List;

public interface MenuService {

    /**
     * 获取当前用户的菜单列表
     */
    List<MenuVO> getCurrentUserMenus();

    /**
     * 获取当前用户的导航菜单
     */
    List<MenuVO> getUserNavMenus();

    /**
     * 获取所有菜单列表
     */
    List<MenuVO> getAllMenus();

    /**
     * 获取菜单树形结构
     */
    List<MenuVO> getMenuTree();

    /**
     * 获取菜单详情
     */
    SysMenu getMenuById(Long id);

    /**
     * 根据角色ID获取菜单ID列表
     */
    List<Long> getMenuIdsByRoleId(Long roleId);

    /**
     * 添加菜单
     */
    void addMenu(SysMenu menu);

    /**
     * 更新菜单
     */
    void updateMenu(SysMenu menu);

    /**
     * 删除菜单
     */
    void deleteMenu(Long id);
} 